package demo05;
/*
在多态的代码中，成员方法的访问规则是：
看new的是谁，就优先用谁，没有则向上找。

口诀：编译看左边，运行看右边

对比一下：
成员变量：编译看左边，运行也看左边。
成员方法：编译看左边，运行看右边。
 */

public class Demo02MultMethod {
    public static void main(String[] args) {
        Fu obj =new Zi();//多态

        obj.method();//父子都有，优先用子
        obj.methodFu();//子类没有，父类有，向上找到父类

        //编译看左，左边是Fu,Fu当中没有methodZi方法，所以编译报错。
        //obj.methodZi();//错误写法!
    }

}
/*
使用多态的好处：
如果不用多态，只用子类，那么写法是：
Teacher one=new Teacher();
one.work();//讲课
Assistant two = new Assistant();
two.work();//辅导

我现在唯一要做的事情，就是调用work方法，其他的功能不关心。

如果使用多态的写法，对比一下：
Employee one=new Teacher();
one.work();//讲课
Employee two =new Assistant();
two.work();//辅导

好处：无论右边new的时候换成哪一个子类对象，等号左边调用方法都不会变化。
 */
